package proyectoX.src.municiones;

import java.awt.Point;
import java.awt.Rectangle;

import javax.swing.ImageIcon;

import proyectoX.src.aplicacion.Nivel;
import proyectoX.src.armas.arma;

/**
 * Barrera eléctrica que sube con el tiempo.
 *
 */
public class MunicionBarra extends MunicionX {
	
	/**
	 * Crea a la munición con los datos pasados por parámetro.
	 * @param posX Posición x.
	 * @param posY Posición y.
	 * @param e Arma que la dispara.
	 * @param nivel Nivel actual.
	 */
	public MunicionBarra(int posX, int posY, arma e, Nivel nivel) {
		super(e,nivel,-2);	
		ImageIcon image = new ImageIcon(this.getClass().getResource("/proyectoX/sprites/barra.gif"));			
		this.setIcon(image);
		this.setVisible(true);
		this.setSize(image.getIconWidth(), image.getIconHeight());		
		this.setLocation(posX, posY);		
	}

	/**
	 * Sube verticalmente.
	 */
	public void actualizarPosicion() {
		if(!nivel.NivelCongelado()){
			Point position = this.getLocation();
			position.translate(0,velocidad);
			this.setLocation(position);
		}
	}
	
	@Override
	/**
	 * Devuelve el área de colisión de la munición.
	 * @return Área de colisión.
	 */
	public Rectangle getBounds() {
		return new Rectangle(this.getX(), this.getY(), this.getWidth(), this.getHeight());
	}

	@Override
	/**
	 * Pide a nivel que calcule colisiones con naves enemigas.
	 * @return Verdadero si colisionó, falso en caso contrario.
	 */
	public boolean calcularColisiones() {
		return nivel.calcularColisionConEnemigas(this);

	}

}
